﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using mamnontuoitho7.AppCode;
using System.Data;
using System.IO;
using System.Configuration;

namespace mamnontuoitho7.backend
{
    public partial class TeacherCreate : System.Web.UI.Page
    {
        private Member mem = new Member();
        protected Teacher _teacher = new Teacher();
        protected General _general = new General();
        private ThumbnailClass _thumbnailClass = new ThumbnailClass();
        private Class _class = new Class();
        protected DataRow _dtrTeacher;


        protected void Page_Load(object sender, EventArgs e)
        {
            //Check Role Admin
            if (Session["memberID"].ToString() != "" && (ConstantClass.permissionInfo).IndexOf(Session["role"].ToString() + ",") != -1)
            {
                try
                {
                    if (!IsPostBack)
                    {
                        loadClassList();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    Response.Redirect(ConstantClass._errorAdminPage);
                }
            }
            else
            {
                Response.Redirect(ConstantClass._errorLoginPage);
            }
        }

        protected void btnTeachertCreate_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtMemberName.Text.Trim() == "")
                {
                    lblTeacherNotice.Visible = true;
                    lblTeacherNotice.Text = "Tên đăng nhập không được để trống.";
                    return;
                }

                if (fulTeacherAvatar.FileName != "" || fulTeacherAvatar.FileName == null)
                {
                    if (fulTeacherAvatar.FileBytes.Count() / 1024 > 6144)
                    {
                        lblTeacherNotice.Visible = true;
                        lblTeacherNotice.Text = "Dung lượng hình ảnh phải dưới 6MB.";
                        return;
                    }
                }

                int maxMemID = _teacher.CreateTeacher(txtMemberName.Text.Trim(),
                                                             txtFullname.Text.Trim(),
                                                             ddlSex.SelectedValue,
                                                             txtBirthday.Text.Trim(),
                                                              txtAddress.Text.Trim(),
                                                             txtEmail.Text.Trim(),
                                                             txtPhone.Text.Trim(),
                                                             ddlTeacherClass.SelectedValue.ToString());

                if (maxMemID > 0)
                {
                    if (fulTeacherAvatar.FileName != "" && fulTeacherAvatar.FileName != null)
                    {
                        string avatar = txtFullname.Text.Trim() + "-" + maxMemID;
                        avatar = _thumbnailClass.UploadImage2(fulTeacherAvatar, Request.PhysicalApplicationPath + "images/avatar/teacher_parents/", avatar, 128, 128, "");

                        if (avatar == "")
                        {
                            lblTeacherNotice.Visible = true;
                            lblTeacherNotice.Text = "Thông tin giáo viên mới đã được tạo nhưng hình của giáo viên không thể upload được. File hình chỉ hỗ trợ những file: jpg, jpeg, gif, png, bmp, tiff";
                        }
                        else
                        {
                            _teacher.UpdateAvatar(maxMemID, avatar);
                            lblTeacherNotice.Visible = true;
                            lblTeacherNotice.Text = "Thông tin của giáo viên mới đã được nhập vào hệ thống";
                        }
                    }
                    else
                    {
                        lblTeacherNotice.Visible = true;
                        lblTeacherNotice.Text = "Thông tin của giáo viên mới đã được nhập vào hệ thống";

                    }

                    resetTeacherCreate();
                }
                else if (maxMemID == -99)
                {
                    lblTeacherNotice.Visible = true;
                    lblTeacherNotice.Text = "Tên Đăng Nhập này đã được sử dụng.\nXin vui lòng đổi Tên Đăng Nhập khác.";
                }
                else
                {
                    lblTeacherNotice.Visible = true;
                    lblTeacherNotice.Text = "Có lỗi hệ thống không thể cập nhật được.";
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Response.Redirect(ConstantClass._errorAdminPage);
            }
        }

        /// <summary>
        /// Reset Teacher information
        /// </summary>
        private void resetTeacherCreate()
        {
            txtAddress.Text = "";
            txtBirthday.Text = "";
            txtEmail.Text = "";
            txtFullname.Text = "";
            txtMemberName.Text = "";
            txtPhone.Text = "";
            ddlSex.SelectedIndex = 0;
            ddlTeacherClass.SelectedIndex = 0;

        }


        protected void btnCancle_Click(object sender, EventArgs e)
        {
            try
            {
                resetTeacherCreate();
                lblTeacherNotice.Visible = false;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Response.Redirect(ConstantClass._errorAdminPage);
            }
        }

        /// <summary>
        /// Load Class List and put in Dropdownlist
        /// </summary>
        private void loadClassList()
        {
            DataTable dttClass = _class.GetClassList("0");
            ddlTeacherClass.DataSource = dttClass;
            ddlTeacherClass.DataTextField = "ClassName";
            ddlTeacherClass.DataValueField = "ClassID";
            ddlTeacherClass.DataBind();
        }


    }
}